package com.xinsoft.entity.dto;

import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON;
import com.xinsoft.constant.Const;
import com.xinsoft.entity.vo.ErpSourcingFeedingVO;
import com.xinsoft.utils.RedisUtil;
import lombok.Data;

import javax.annotation.Resource;
import java.math.BigDecimal;

/**
 * 委外投料单
 * */
@Data
public class KisSourcingFeedingHeadDto {

    private String   FInterID;     //主键
    private String  FBillNo;       //编号
    private String  FItemID;       //产品代码
    private String  FAuxQty;       //生产数量
    private String  FUnitID;       //单  位
    private String  FCheckerID;       //审核人
    private String  FCheckDate;       //审核日期
    private String  FCancellation;       //是否作废"
    private Integer  FICMOInterID;       //委外订单id
    private Integer  FOrderEntryID;       //委外订单行号


    private RedisUtil redisUtil = SpringUtil.getBean(RedisUtil.class);

    public ErpSourcingFeedingVO voToPo(KisSourcingFeedingHeadDto item) {
        if (item == null) {
            return null;
        }
        ErpSourcingFeedingVO mesProductionFeedingVO = new ErpSourcingFeedingVO();
        mesProductionFeedingVO.setId(ObjectUtil.isEmpty(item.getFInterID()) ? null : new Integer(item.getFInterID()));
        mesProductionFeedingVO.setCode(ObjectUtil.isEmpty(item.getFBillNo()) ? null : item.getFBillNo());
        mesProductionFeedingVO.setMaterialId(ObjectUtil.isEmpty(item.getFItemID()) ? null : new Integer(item.getFItemID()));
        mesProductionFeedingVO.setNum(ObjectUtil.isEmpty(item.getFAuxQty()) ? null : new BigDecimal(item.getFAuxQty()));
        mesProductionFeedingVO.setMainUnitId(ObjectUtil.isEmpty(item.getFUnitID()) ? null : new Integer(item.getFUnitID()));
        mesProductionFeedingVO.setAuditor(ObjectUtil.isEmpty(item.getFCheckerID()) ? null : new Integer(item.getFCheckerID()));
        mesProductionFeedingVO.setCheckDate((ObjectUtil.isEmpty(item.getFCheckDate()) ? null : DateUtil.formatDate(DateUtil.parse(item.getFCheckDate(),redisUtil.get(Const.TIME_FORMAT).toString()))));
        mesProductionFeedingVO.setCancellation(ObjectUtil.isEmpty(item.getFCancellation()) ? null : new Boolean(item.getFCancellation()));
        mesProductionFeedingVO.setSourceId(item.getFICMOInterID());
        mesProductionFeedingVO.setSourceItemId(item.getFOrderEntryID());

        return mesProductionFeedingVO;
    }

//
//    {
//        \"FInterID\": \"16794\",              //主键
//        \"FBillNo\": \"PBOM015794\",          //编  号:"
//        \"FItemID\": \"5757\",                 //产品代码:"
//        \"FAuxQty\": \"1000.0000000000\",       //生产数量:"
//        \"FUnitID\": \"1413\",                  //单  位:"
//        \"FBillerID\": \"16393\",               //制单人:"
//        \"FCheckerID\": \"16393\"               //审核人:",
//        \"FCheckDate\": \"8/10/2023 12:00:00 AM\",       //审核日期:"
//        \"FICMOInterID\": \"14608\",          //生产/委外订单id
//        \"FCancellation\": \"False\",          // 是否作废
//        \"FTranType\": \"88\",                //生产类型属性:"
//        \"FOrderBillNo\": \"\",               //销售订单号:"
//        \"FOrderEntryID\": \"1\",             //销售订单内码:"
//        \"FWorkSHop\": \"0\",                  //生产车间:"
//        \"FDate\": \"8/10/2023 12:00:00 AM\",  //
//        \"FOrderInterID\": \"0\",             //订单行号"
//        \"FBrNo\": \"0\",
//        \"FStatus\": \"1\",
//        \"FType\": \"1067\",
//        \"FStockType\": \"0\",
//        \"FChangeTimes\": \"0\",
//        \"FPrintCount\": \"0\"                //        打印次数
//    }


}
